package demo3;
/*
二、运算符
（1）.位运算符
&、|、~、^
按位与&：如果两个二进制位都为1，则结果为1，否则为0.
按位或|：乳沟两个二进制位都为0，则结果为0，否则为1.
按位取反：如果该位为0，则转为1，如果为1，则转为0.
按位异或：相同为0，相异为1.
（2）.移位运算
左移<<:最左侧不要，最右侧补0.a<<1===>a*2;a<<n===>a*2^n
右移>>:最右侧不要，最左侧补符号位。a>>1===>a/2;a>>n===>a/2^n
无符号右移>>>:右不要，左补0.
（3）.条件运算符
表1？表2：表3
表1为true，值为表2；表1为false，值为表3
 */

import java.util.Scanner;

//三、程序逻辑控制
public class Test2 {
    //1.分支结构
    // 1.1 if语句
    public static void main1(String[] args) {
        int a=10;
        int b=20;
        if(a>b){
            System.out.println(a);
        }else if (a==b){
            System.out.println("相等");
        }else {
            System.out.println(b);
        }
    }

    //1.2 switch语句
    public static void main2(String[] args) {
        Scanner data=new Scanner(System.in);
        switch (data.nextInt()){
            case 1: {
                System.out.println("星期一");
                break;
            }
            case 2:{
                System.out.println("星期二");
                break;
            }
            case 3:{
                System.out.println("星期三");
                break;
            }
            case 4:{
                System.out.println("星期四");
                break;
            }
            case 5:{
                System.out.println("星期五");
                break;
            }
            default:{
                System.out.println("休息日");
                break;
            }
        }

    }

    //2.循环语句
    //2.1 while循环
    public static void main3(String[] args) {
        int a=10;
        while (a>0){
            System.out.println(a);
            a--;
        }
    }
    //2.2 for循环
    public static void main4(String[] args) {

        for (int i = 0; i < 10; i++) {
            System.out.println(i);
        }
    }
    //2.3 do while循环
    public static void main5(String[] args) {
        int a=10;
        do {
            System.out.println(a);
            a--;
        }while (a>0);
    }
    //3.Scanner输入
    public static void main6(String[] args) {
        Scanner scanner=new Scanner(System.in);
        String str=scanner.nextLine();
        int a=scanner.nextInt();
        System.out.println(str);
        System.out.println(a);
    }
    //4.hasNext的使用
    /*
    （1）hasNext（）的方法主要用于检查迭代器或输入流中是否还有下一个元素。这个方法通常用于控制循环的终止条件，确保不会尝试访问超出集合边界的元素，
    从而避免出现异常。
    （2）在遍历集合元素时，hasNext方法用于检查是否还有更多元素可以迭代。如果hasNext（）返回true，则表示可以继续迭代并获取下一个元素，
    如果返回false，则表示已遍历完所有元素，应结束 循环。
     */
}
